3d6672f234bb239194ed1deee43bdf315224adbf,src/main/java/com/thexfactor117/levels/events/EventLivingDeath.java,EventLivingDeath,onEntityDeath,#LivingDeathEvent#,31
Before Change
if (stack != null && stack.getItem() instanceof ItemSword)
{
NBTTagCompound nbt = stack.hasTagCompound() ? stack.getTagCompound() : new NBTTagCompound();
int level = Experience.getLevel(nbt);
int experience = Experience.getExperience(nbt);
/*
* Rarities
*/
if (Rarity.getRarity(nbt) == Rarity.UNKOWN)
{
RandomCollection<Rarity> rarities = new RandomCollection<Rarity>();
rarities.add(0.65D, Rarity.BASIC);
rarities.add(0.17D, Rarity.UNCOMMON);
rarities.add(0.11D, Rarity.RARE);
rarities.add(0.05D, Rarity.LEGENDARY);
rarities.add(0.02D, Rarity.ANCIENT);
Rarity rarity = rarities.next();
LogHelper.info(rarity);
rarity.setRarity(nbt);
player.worldObj.playSoundAtEntity(player, "mob.enderdragon.end", 0.25F * (float) (rarity.ordinal() - 1), 1.0F);
}
/*
* Weapon Bonus Experience
*/
if (level < ItemType.WEAPON.getMaxLevel())
{
if (event.entityLiving instanceof EntityMob)
{
boolean developmentEnvironment = (Boolean)Launch.blackboard.get("fml.deobfuscatedEnvironment");
experience += developmentEnvironment ? 1000 : ConfigHandler.weaponMonsterExpBonus;
}
if (event.entityLiving instanceof EntityAnimal)
{
experience += ConfigHandler.weaponAnimalExpBonus;
}
Experience.setExperience(nbt, experience);
}
/*
* Leveling system
*/
while (level < Experience.getLevelsUp(player, level, experience, ItemType.WEAPON))
{
level++;
AbilityHelper.getRandomizedMeleeAbilities(stack, level);
}
Experience.setLevel(nbt, level);
if (!nbt.hasNoTags() && !stack.hasTagCompound())
{
stack.setTagCompound(nbt);
}
}
}
After Change
if (stack != null && stack.getItem() instanceof ItemSword)
{
NBTTagCompound nbt = NBTHelper.loadStackNBT(stack);
int level = Experience.getLevel(nbt);
int experience = Experience.getExperience(nbt);
/*
* Rarities
*/
Rarity rarity = Rarity.getRarity(nbt);
if (rarity == Rarity.UNKOWN)
{
rarity = Rarity.getRandomRarity(rand);
LogHelper.info(rarity);
rarity.setRarity(nbt);
player.worldObj.playSoundAtEntity(player, "mob.enderdragon.end", 0.25F * (float) (rarity.ordinal() - 1), 1.0F);
}
/*
* Weapon Bonus Experience
*/
if (level < Reference.MAX_LEVEL)
{
if (event.entityLiving instanceof EntityMob)
{
experience += ConfigHandler.enableDevFeatures ? 1000 : ConfigHandler.weaponMonsterExpBonus;
}
if (event.entityLiving instanceof EntityAnimal)
{
experience += ConfigHandler.weaponAnimalExpBonus;
}
Experience.setExperience(nbt, experience);
}
/*
* Leveling system
*/
level = Experience.getLevelsUp(player, nbt, level, experience, ItemType.WEAPON, rand);
Experience.setLevel(nbt, level);
NBTHelper.saveStackNBT(stack, nbt);
}
}
}